1
Введение в урок 3: Решение задачи нелинейной классификации
EvoClass-AI002Lecture 3
00:00

Мы переходим за пределы возможностей линейных моделей, которые испытывают трудности при классификации данных, неразделимых прямой линией. Сегодня мы применяем рабочий процесс PyTorch для создания глубокой нейронной сети (ГНС) способной изучать сложные нелинейные границы решений необходимые для решения реальных задач классификации.

1. Визуализация необходимости нелинейных данных

Наш первый шаг — создать сложный синтетический набор данных, например, распределение двух полумесяцев, чтобы наглядно продемонстрировать, почему простые линейные модели терпят неудачу. Эта настройка вынуждает нас использовать глубокие архитектуры для приближения необходимой сложной кривой, разделяющей классы.

Свойства данных

  • Структура данных: Синтетические признаки данных (например, $1000 \times 2$ для $1000$ образцов с 2 признаками).
  • Тип выходных данных: Одно значение вероятности, часто torch.float32, отражающее принадлежность к классу.
  • Цель: Создать кривую границу решений с помощью многослойных вычислений.
Сила нелинейных активаций
Основной принцип ГНС — введение нелинейности в скрытых слоях с помощью функций, таких как ReLU. Без них последовательное наложение слоёв просто приведёт к одной большой линейной модели, независимо от глубины.
data_setup.py
TERMINALbash — classification-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary purpose of the ReLU activation function in a hidden layer?
Introduce non-linearity so deep architectures can model curves
Speed up matrix multiplication
Ensure the output remains between 0 and 1
Normalize the layer output to a mean of zero
Question 2
Which activation function is required in the output layer for a binary classification task?
Sigmoid
Softmax
ReLU
Question 3
Which loss function corresponds directly to a binary classification problem using a Sigmoid output?
Binary Cross Entropy Loss (BCE)
Mean Squared Error (MSE)
Cross Entropy Loss
Challenge: Designing the Core Architecture
Integrating architectural components for non-linear learning.
You must build a nn.Module for the two-moons task. Input features: 2. Output classes: 1 (probability).
Step 1
Describe the flow of computation for a single hidden layer in this DNN.
Solution:
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Step 2
What must the final layer size be if the input shape is $(N, 2)$ and we use BCE loss?
Solution:
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.